Add fireplace app#101
Open
clarmso wants to merge 9 commits into
Open
Conversation
- 20-frame fireplace animation extracted from Tenor GIF - Frames stored as 160x120 PNGs in frames/ directory - Fire emoji icon for menu launcher Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Compress fireplace_badge.jpg: 2.1MB → 740KB - Convert lenny_fireplace.png → .jpg: 158KB → 8KB Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- fireplace_badge.jpg: 740KB → 142KB - lenny_fireplace.jpg: 8KB → 1KB Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Contributor
There was a problem hiding this comment.
Pull request overview
Adds a new “fireplace” app to the Universe 2025 badge app suite, providing a looping animated fireplace with on-device playback speed controls and accompanying documentation/assets.
Changes:
- Introduces the Fireplace app runtime (
update()loop) with UP/DOWN speed adjustment and A/B/C reset, plus an on-screen speed indicator. - Adds app documentation (controls, install/simulator instructions) and ships the animation/icon/media assets.
Reviewed changes
Copilot reviewed 2 out of 26 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| badge/apps/fireplace/init.py | Implements the animation loop, input handling, and speed label rendering for the Fireplace app. |
| badge/apps/fireplace/README.md | Documents controls, installation steps, simulator invocation, and animation provenance/details. |
| badge/apps/fireplace/icon.png | App icon for the launcher (24×24). |
| badge/apps/fireplace/assets/fireplace.gif | Source GIF asset retained for reference. |
| badge/apps/fireplace/assets/fireplace_badge.jpg | README image asset. |
| badge/apps/fireplace/assets/lenny_fireplace.jpg | README image asset. |
| badge/apps/fireplace/frames/frame_0000.png | Animation frame asset. |
| badge/apps/fireplace/frames/frame_0001.png | Animation frame asset. |
| badge/apps/fireplace/frames/frame_0002.png | Animation frame asset. |
| badge/apps/fireplace/frames/frame_0003.png | Animation frame asset. |
| badge/apps/fireplace/frames/frame_0004.png | Animation frame asset. |
| badge/apps/fireplace/frames/frame_0005.png | Animation frame asset. |
| badge/apps/fireplace/frames/frame_0006.png | Animation frame asset. |
| badge/apps/fireplace/frames/frame_0007.png | Animation frame asset. |
| badge/apps/fireplace/frames/frame_0008.png | Animation frame asset. |
| badge/apps/fireplace/frames/frame_0009.png | Animation frame asset. |
| badge/apps/fireplace/frames/frame_0010.png | Animation frame asset. |
| badge/apps/fireplace/frames/frame_0011.png | Animation frame asset. |
| badge/apps/fireplace/frames/frame_0012.png | Animation frame asset. |
| badge/apps/fireplace/frames/frame_0013.png | Animation frame asset. |
| badge/apps/fireplace/frames/frame_0014.png | Animation frame asset. |
| badge/apps/fireplace/frames/frame_0015.png | Animation frame asset. |
| badge/apps/fireplace/frames/frame_0016.png | Animation frame asset. |
| badge/apps/fireplace/frames/frame_0017.png | Animation frame asset. |
| badge/apps/fireplace/frames/frame_0018.png | Animation frame asset. |
| badge/apps/fireplace/frames/frame_0019.png | Animation frame asset. |
Comment on lines
+75
to
+76
| init() | ||
| run(update) |
Comment on lines
+27
to
+31
| fireplace/ | ||
| ├── __init__.py # App code | ||
| ├── icon.png # Menu icon (24x24) | ||
| ├── fireplace.gif # Original source GIF | ||
| └── frames/ # Extracted PNG frames (frame_0000.png … frame_0019.png) |
Comment on lines
+55
to
+63
| # Advance frame | ||
| if io.ticks - _last_tick >= _frame_duration: | ||
| _current_frame = (_current_frame + 1) % FRAME_COUNT | ||
| _last_tick = io.ticks | ||
|
|
||
| screen.load_into(f"frames/frame_{_current_frame:04d}.png") | ||
|
|
||
| # Show speed label if recently changed | ||
| if io.ticks < _label_until: |
- Update README directory tree to reflect assets/ subdirectory - Guard run() with __name__ == '__main__' and pass init= parameter, matching the standard pattern used by menu and monapet apps - Only call screen.load_into() when the frame advances or the speed label is visible, avoiding redundant surface copies every tick Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds a cosy animated fireplace app for the GitHub Universe 2025 badge.
The users can adjust the speed of the animation using the up and down arrows.